<!-- HTML header for doxygen 1.8.3.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>Sifteo SDK: Sifteo::TileBuffer&lt; tW, tH, tF &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-style-overrides.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<center>
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Sifteo SDK" src="sdk_logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">v1.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
</center>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Home</span></a></li>
      <li><a href="pages.html"><span>Guides</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Reference</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>Sifteo</b></li><li class="navelem"><a class="el" href="struct_sifteo_1_1_tile_buffer.html">TileBuffer</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="struct_sifteo_1_1_tile_buffer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Sifteo::TileBuffer&lt; tW, tH, tF &gt; Struct Template Reference<div class="ingroups"><a class="el" href="group__video.html">Video</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>A drawable that's backed by plain memory, instead of by a <a class="el" href="struct_sifteo_1_1_video_buffer.html" title="A memory buffer which holds graphics data.">VideoBuffer</a>.  
 <a href="struct_sifteo_1_1_tile_buffer.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="tilebuffer_8h_source.html">sifteo/video/tilebuffer.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a259e85cd18617f07957cf0135fb19cda"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a259e85cd18617f07957cf0135fb19cda"></a>
<a class="el" href="struct_sifteo_1_1_cube_i_d.html">CubeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a259e85cd18617f07957cf0135fb19cda">cube</a> () const </td></tr>
<tr class="memdesc:a259e85cd18617f07957cf0135fb19cda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <a class="el" href="struct_sifteo_1_1_cube_i_d.html" title="A lightweight identifier for one Sifteo cube.">CubeID</a> associated with this drawable. <br/></td></tr>
<tr class="separator:a259e85cd18617f07957cf0135fb19cda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad26ece0c30f45603a3d500ac3758516"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad26ece0c30f45603a3d500ac3758516"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#aad26ece0c30f45603a3d500ac3758516">erase</a> (uint16_t index=0)</td></tr>
<tr class="memdesc:aad26ece0c30f45603a3d500ac3758516"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase the buffer, filling it with the specified absolute tile index value. <br/></td></tr>
<tr class="separator:aad26ece0c30f45603a3d500ac3758516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42b3da3c6b2095764b1b2233b9e0aae8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42b3da3c6b2095764b1b2233b9e0aae8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a42b3da3c6b2095764b1b2233b9e0aae8">erase</a> (const <a class="el" href="struct_sifteo_1_1_pinned_asset_image.html">PinnedAssetImage</a> &amp;image)</td></tr>
<tr class="memdesc:a42b3da3c6b2095764b1b2233b9e0aae8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase the buffer, filling it with the first tile from the specified <a class="el" href="struct_sifteo_1_1_pinned_asset_image.html" title="An AssetImage in which all tiles are stored sequentially in memory.">PinnedAssetImage</a>. <br/></td></tr>
<tr class="separator:a42b3da3c6b2095764b1b2233b9e0aae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a613627590aede7bc857a33c312bf4f2c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a613627590aede7bc857a33c312bf4f2c">fill</a> (<a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> topLeft, <a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> size, unsigned tileIndex, unsigned frame=0)</td></tr>
<tr class="memdesc:a613627590aede7bc857a33c312bf4f2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill a rectangle of identical tiles, specified as a top-left corner location and a size.  <a href="#a613627590aede7bc857a33c312bf4f2c">More...</a><br/></td></tr>
<tr class="separator:a613627590aede7bc857a33c312bf4f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a839ec2e633c18c75c105b61db2d30230"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a839ec2e633c18c75c105b61db2d30230">fill</a> (<a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> topLeft, <a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> size, const <a class="el" href="struct_sifteo_1_1_pinned_asset_image.html">PinnedAssetImage</a> &amp;image, unsigned frame=0)</td></tr>
<tr class="memdesc:a839ec2e633c18c75c105b61db2d30230"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill a rectangle of identical tiles, using the first tile of a pinned asset.  <a href="#a839ec2e633c18c75c105b61db2d30230">More...</a><br/></td></tr>
<tr class="separator:a839ec2e633c18c75c105b61db2d30230"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7b76646c68696d97537830024e9ce03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#af7b76646c68696d97537830024e9ce03">image</a> (<a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> pos, const <a class="el" href="struct_sifteo_1_1_asset_image.html">AssetImage</a> &amp;image, unsigned srcFrame=0, unsigned destFrame=0)</td></tr>
<tr class="memdesc:af7b76646c68696d97537830024e9ce03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw a full <a class="el" href="struct_sifteo_1_1_asset_image.html" title="Any kind of asset image, as defined in your stir script.">AssetImage</a> frame, with its top-left corner at the specified location.  <a href="#af7b76646c68696d97537830024e9ce03">More...</a><br/></td></tr>
<tr class="separator:af7b76646c68696d97537830024e9ce03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab31d68fa3fa94735a0c5c8d3dfeece93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#ab31d68fa3fa94735a0c5c8d3dfeece93">image</a> (<a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> destXY, <a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> size, const <a class="el" href="struct_sifteo_1_1_asset_image.html">AssetImage</a> &amp;image, <a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> srcXY, unsigned srcFrame=0, unsigned destFrame=0)</td></tr>
<tr class="memdesc:ab31d68fa3fa94735a0c5c8d3dfeece93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw part of an <a class="el" href="struct_sifteo_1_1_asset_image.html" title="Any kind of asset image, as defined in your stir script.">AssetImage</a> frame, with its top-left corner at the specified location.  <a href="#ab31d68fa3fa94735a0c5c8d3dfeece93">More...</a><br/></td></tr>
<tr class="separator:ab31d68fa3fa94735a0c5c8d3dfeece93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8775fff50c3eff89afbca5536811702d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8775fff50c3eff89afbca5536811702d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a8775fff50c3eff89afbca5536811702d">init</a> ()</td></tr>
<tr class="memdesc:a8775fff50c3eff89afbca5536811702d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the <a class="el" href="struct_sifteo_1_1_tile_buffer.html" title="A drawable that&#39;s backed by plain memory, instead of by a VideoBuffer.">TileBuffer</a>'s <a class="el" href="struct_sifteo_1_1_asset_image.html" title="Any kind of asset image, as defined in your stir script.">AssetImage</a> header. <br/></td></tr>
<tr class="separator:a8775fff50c3eff89afbca5536811702d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa614f8b2cfb56216fc1f07af7ef8f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a0fa614f8b2cfb56216fc1f07af7ef8f0">plot</a> (unsigned i, uint16_t tileIndex)</td></tr>
<tr class="memdesc:a0fa614f8b2cfb56216fc1f07af7ef8f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plot a single tile, by absolute tile index, at linear position 'i'.  <a href="#a0fa614f8b2cfb56216fc1f07af7ef8f0">More...</a><br/></td></tr>
<tr class="separator:a0fa614f8b2cfb56216fc1f07af7ef8f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca291e8c8e981743e16a1a25de3c7b26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#aca291e8c8e981743e16a1a25de3c7b26">plot</a> (<a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> pos, uint16_t tileIndex, unsigned frame=0)</td></tr>
<tr class="memdesc:aca291e8c8e981743e16a1a25de3c7b26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plot a single tile, by absolute tile index, at location 'pos' in tile units, on the given frame.  <a href="#aca291e8c8e981743e16a1a25de3c7b26">More...</a><br/></td></tr>
<tr class="separator:aca291e8c8e981743e16a1a25de3c7b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58fcea7d4742440564185d9b529ffcc5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a58fcea7d4742440564185d9b529ffcc5">setCube</a> (<a class="el" href="struct_sifteo_1_1_cube_i_d.html">CubeID</a> cube)</td></tr>
<tr class="memdesc:a58fcea7d4742440564185d9b529ffcc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the <a class="el" href="struct_sifteo_1_1_cube_i_d.html" title="A lightweight identifier for one Sifteo cube.">CubeID</a> associated with this drawable.  <a href="#a58fcea7d4742440564185d9b529ffcc5">More...</a><br/></td></tr>
<tr class="separator:a58fcea7d4742440564185d9b529ffcc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94d50b7f1c63359f3df08edb963b2aba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a94d50b7f1c63359f3df08edb963b2aba">span</a> (<a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> pos, unsigned width, unsigned tileIndex, unsigned frame=0)</td></tr>
<tr class="memdesc:a94d50b7f1c63359f3df08edb963b2aba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plot a horizontal span of tiles, by absolute tile index, given the position of the leftmost tile and the number of tiles to plot.  <a href="#a94d50b7f1c63359f3df08edb963b2aba">More...</a><br/></td></tr>
<tr class="separator:a94d50b7f1c63359f3df08edb963b2aba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7901aeab575a81bd790a8a68fc97de3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a7901aeab575a81bd790a8a68fc97de3d">span</a> (<a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> pos, unsigned width, const <a class="el" href="struct_sifteo_1_1_pinned_asset_image.html">PinnedAssetImage</a> &amp;image, unsigned frame=0)</td></tr>
<tr class="memdesc:a7901aeab575a81bd790a8a68fc97de3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plot a horizontal span of tiles, using the first tile of a pinned asset.  <a href="#a7901aeab575a81bd790a8a68fc97de3d">More...</a><br/></td></tr>
<tr class="separator:a7901aeab575a81bd790a8a68fc97de3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacaaed12707ad3bbc060eb361e8c5880"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#aacaaed12707ad3bbc060eb361e8c5880">text</a> (<a class="el" href="group__math.html#ga4aa5e1c76d3adebd72a73a7051ad1fe0">Int2</a> topLeft, const <a class="el" href="struct_sifteo_1_1_asset_image.html">AssetImage</a> &amp;font, const char *str, unsigned destFrame=0, char firstChar= ' ')</td></tr>
<tr class="memdesc:aacaaed12707ad3bbc060eb361e8c5880"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw text, using an <a class="el" href="struct_sifteo_1_1_asset_image.html" title="Any kind of asset image, as defined in your stir script.">AssetImage</a> as a fixed width font.  <a href="#aacaaed12707ad3bbc060eb361e8c5880">More...</a><br/></td></tr>
<tr class="separator:aacaaed12707ad3bbc060eb361e8c5880"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cd9de1a2101a45d8182f91538604c33"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cd9de1a2101a45d8182f91538604c33"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a4cd9de1a2101a45d8182f91538604c33">tile</a> (unsigned i) const </td></tr>
<tr class="memdesc:a4cd9de1a2101a45d8182f91538604c33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the tile at linear position 'i' in the image. <br/></td></tr>
<tr class="separator:a4cd9de1a2101a45d8182f91538604c33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd9637274b0ce32db818127662e427fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd9637274b0ce32db818127662e427fa"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#afd9637274b0ce32db818127662e427fa">tile</a> (<a class="el" href="group__math.html#ga4aa5e1c76d3adebd72a73a7051ad1fe0">Int2</a> pos, unsigned frame=0) const </td></tr>
<tr class="memdesc:afd9637274b0ce32db818127662e427fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the index of the tile at the specified (x, y) tile coordinates, and optionally on the specified frame number. <br/></td></tr>
<tr class="separator:afd9637274b0ce32db818127662e427fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5279b36d506611c2c16026a3e8fe4d85"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a5279b36d506611c2c16026a3e8fe4d85">tileAddr</a> (<a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a> pos, unsigned frame=0)</td></tr>
<tr class="memdesc:a5279b36d506611c2c16026a3e8fe4d85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the video buffer address of a particular tile.  <a href="#a5279b36d506611c2c16026a3e8fe4d85">More...</a><br/></td></tr>
<tr class="separator:a5279b36d506611c2c16026a3e8fe4d85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89b0b2e10391a1d4f67db71741025fe7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a89b0b2e10391a1d4f67db71741025fe7">TileBuffer</a> ()</td></tr>
<tr class="memdesc:a89b0b2e10391a1d4f67db71741025fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a <a class="el" href="struct_sifteo_1_1_tile_buffer.html" title="A drawable that&#39;s backed by plain memory, instead of by a VideoBuffer.">TileBuffer</a>.  <a href="#a89b0b2e10391a1d4f67db71741025fe7">More...</a><br/></td></tr>
<tr class="separator:a89b0b2e10391a1d4f67db71741025fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf01e48283a2191c414726fa68f5b97b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#aaf01e48283a2191c414726fa68f5b97b">TileBuffer</a> (<a class="el" href="struct_sifteo_1_1_cube_i_d.html">CubeID</a> cube)</td></tr>
<tr class="memdesc:aaf01e48283a2191c414726fa68f5b97b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a <a class="el" href="struct_sifteo_1_1_tile_buffer.html" title="A drawable that&#39;s backed by plain memory, instead of by a VideoBuffer.">TileBuffer</a> for use.  <a href="#aaf01e48283a2191c414726fa68f5b97b">More...</a><br/></td></tr>
<tr class="separator:aaf01e48283a2191c414726fa68f5b97b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a431298fcb7ea9d9eb08a541ce6d5a533"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a431298fcb7ea9d9eb08a541ce6d5a533"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a431298fcb7ea9d9eb08a541ce6d5a533">numFrames</a> ()</td></tr>
<tr class="memdesc:a431298fcb7ea9d9eb08a541ce6d5a533"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of frames in this image. <br/></td></tr>
<tr class="separator:a431298fcb7ea9d9eb08a541ce6d5a533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76ca3009d6d1e9b1f85205e5ab5e45e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76ca3009d6d1e9b1f85205e5ab5e45e0"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a76ca3009d6d1e9b1f85205e5ab5e45e0">numTiles</a> ()</td></tr>
<tr class="memdesc:a76ca3009d6d1e9b1f85205e5ab5e45e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the total number of tiles in every frame of the image. <br/></td></tr>
<tr class="separator:a76ca3009d6d1e9b1f85205e5ab5e45e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebaf4f6c194fceff42d410886d4ad4bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aebaf4f6c194fceff42d410886d4ad4bf"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#aebaf4f6c194fceff42d410886d4ad4bf">numTilesPerFrame</a> ()</td></tr>
<tr class="memdesc:aebaf4f6c194fceff42d410886d4ad4bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of tiles in each frame of the image. <br/></td></tr>
<tr class="separator:aebaf4f6c194fceff42d410886d4ad4bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a758720a85e0bf47d0a6af2b56de172"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a758720a85e0bf47d0a6af2b56de172"></a>
static unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a3a758720a85e0bf47d0a6af2b56de172">pixelHeight</a> ()</td></tr>
<tr class="memdesc:a3a758720a85e0bf47d0a6af2b56de172"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the height, in pixel, of this mode. <br/></td></tr>
<tr class="separator:a3a758720a85e0bf47d0a6af2b56de172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25eb3076fa642f6b16ec2f41e40639d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25eb3076fa642f6b16ec2f41e40639d1"></a>
static <a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a25eb3076fa642f6b16ec2f41e40639d1">pixelSize</a> ()</td></tr>
<tr class="memdesc:a25eb3076fa642f6b16ec2f41e40639d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size of this mode as a vector, in pixels. <br/></td></tr>
<tr class="separator:a25eb3076fa642f6b16ec2f41e40639d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc699b0bb3edd4f152a91e3a98a77aea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc699b0bb3edd4f152a91e3a98a77aea"></a>
static unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#acc699b0bb3edd4f152a91e3a98a77aea">pixelWidth</a> ()</td></tr>
<tr class="memdesc:acc699b0bb3edd4f152a91e3a98a77aea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the width, in pixels, of this mode. <br/></td></tr>
<tr class="separator:acc699b0bb3edd4f152a91e3a98a77aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f356b9308aa85cc35b712f57067783"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20f356b9308aa85cc35b712f57067783"></a>
static unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a20f356b9308aa85cc35b712f57067783">sizeInBytes</a> ()</td></tr>
<tr class="memdesc:a20f356b9308aa85cc35b712f57067783"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of this drawable's tile data, in bytes. <br/></td></tr>
<tr class="separator:a20f356b9308aa85cc35b712f57067783"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af94160025129d5e4d01cea0810b79373"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af94160025129d5e4d01cea0810b79373"></a>
static unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#af94160025129d5e4d01cea0810b79373">sizeInWords</a> ()</td></tr>
<tr class="memdesc:af94160025129d5e4d01cea0810b79373"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of this drawable's tile data, in 16-bit words. <br/></td></tr>
<tr class="separator:af94160025129d5e4d01cea0810b79373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a314f87fa435dae08e6224a1858b9a988"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a314f87fa435dae08e6224a1858b9a988"></a>
static unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a314f87fa435dae08e6224a1858b9a988">tileHeight</a> ()</td></tr>
<tr class="memdesc:a314f87fa435dae08e6224a1858b9a988"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the height, in tiles, of this mode. <br/></td></tr>
<tr class="separator:a314f87fa435dae08e6224a1858b9a988"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85262607682eb38453d809d8cd929629"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85262607682eb38453d809d8cd929629"></a>
static <a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a85262607682eb38453d809d8cd929629">tileSize</a> ()</td></tr>
<tr class="memdesc:a85262607682eb38453d809d8cd929629"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size of this mode as a vector, in tiles. <br/></td></tr>
<tr class="separator:a85262607682eb38453d809d8cd929629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55db165ff4891839cfc3a158da33b2d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55db165ff4891839cfc3a158da33b2d2"></a>
static unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_sifteo_1_1_tile_buffer.html#a55db165ff4891839cfc3a158da33b2d2">tileWidth</a> ()</td></tr>
<tr class="memdesc:a55db165ff4891839cfc3a158da33b2d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the width, in tiles, of this mode. <br/></td></tr>
<tr class="separator:a55db165ff4891839cfc3a158da33b2d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt;<br/>
struct Sifteo::TileBuffer&lt; tW, tH, tF &gt;</h3>

<p>A drawable that's backed by plain memory, instead of by a <a class="el" href="struct_sifteo_1_1_video_buffer.html" title="A memory buffer which holds graphics data.">VideoBuffer</a>. </p>
<p>Template parameters specify the width and height of the buffer, in tiles, and optionally the number of frames.</p>
<p>You can draw on a <a class="el" href="struct_sifteo_1_1_tile_buffer.html" title="A drawable that&#39;s backed by plain memory, instead of by a VideoBuffer.">TileBuffer</a> in the same manner you'd draw on BG0, for example.</p>
<p>In memory, we store a flat array of 16-bit relocated tile indices.</p>
<p>TileBuffers can be used as assets. In particular, they can be freely converted to <a class="el" href="struct_sifteo_1_1_flat_asset_image.html" title="An AssetImage in which all tile indices are stored in a flat array, without any additional compressio...">FlatAssetImage</a> or <a class="el" href="struct_sifteo_1_1_asset_image.html" title="Any kind of asset image, as defined in your stir script.">AssetImage</a> instances. This means you can use them to do off-screen rendering, and then draw that rendering to any other drawable.</p>
<p>Note that TileBuffers are not POD types. The underlying <a class="el" href="struct_sifteo_1_1_asset_image.html" title="Any kind of asset image, as defined in your stir script.">AssetImage</a> header we build in RAM needs to be initialized by the constructor, and you must attach the <a class="el" href="struct_sifteo_1_1_tile_buffer.html" title="A drawable that&#39;s backed by plain memory, instead of by a VideoBuffer.">TileBuffer</a> to a specific <a class="el" href="struct_sifteo_1_1_cube_i_d.html" title="A lightweight identifier for one Sifteo cube.">CubeID</a> so we can relocate assets. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a89b0b2e10391a1d4f67db71741025fe7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::<a class="el" href="struct_sifteo_1_1_tile_buffer.html">TileBuffer</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialize a <a class="el" href="struct_sifteo_1_1_tile_buffer.html" title="A drawable that&#39;s backed by plain memory, instead of by a VideoBuffer.">TileBuffer</a>. </p>
<p>You must call <a class="el" href="struct_sifteo_1_1_tile_buffer.html#a58fcea7d4742440564185d9b529ffcc5" title="Change the CubeID associated with this drawable.">setCube()</a> on this instance before using it, due to the potentially different memory layout on each individual cube. </p>

</div>
</div>
<a class="anchor" id="aaf01e48283a2191c414726fa68f5b97b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::<a class="el" href="struct_sifteo_1_1_tile_buffer.html">TileBuffer</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_sifteo_1_1_cube_i_d.html">CubeID</a>&#160;</td>
          <td class="paramname"><em>cube</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialize a <a class="el" href="struct_sifteo_1_1_tile_buffer.html" title="A drawable that&#39;s backed by plain memory, instead of by a VideoBuffer.">TileBuffer</a> for use. </p>
<p>You must pass in a <a class="el" href="struct_sifteo_1_1_cube_i_d.html" title="A lightweight identifier for one Sifteo cube.">CubeID</a> which represents the cube that this buffer will be drawn to. Each cube may have assets loaded at different addresses, so we need to know this in order to relocate tile indices when drawing to this buffer.</p>
<p>This does <em>not</em> write anything to the tile buffer memory itself. If you want to initialize the buffer to a known value, call <a class="el" href="struct_sifteo_1_1_tile_buffer.html#aad26ece0c30f45603a3d500ac3758516" title="Erase the buffer, filling it with the specified absolute tile index value.">erase()</a>. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a613627590aede7bc857a33c312bf4f2c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::fill </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>topLeft</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>tileIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>frame</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Fill a rectangle of identical tiles, specified as a top-left corner location and a size. </p>
<p>All coordinates must be in range. This function performs no clipping. </p>

</div>
</div>
<a class="anchor" id="a839ec2e633c18c75c105b61db2d30230"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::fill </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>topLeft</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_sifteo_1_1_pinned_asset_image.html">PinnedAssetImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>frame</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Fill a rectangle of identical tiles, using the first tile of a pinned asset. </p>
<p>All coordinates must be in range. This function performs no clipping. </p>

</div>
</div>
<a class="anchor" id="af7b76646c68696d97537830024e9ce03"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::image </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_sifteo_1_1_asset_image.html">AssetImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>srcFrame</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>destFrame</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Draw a full <a class="el" href="struct_sifteo_1_1_asset_image.html" title="Any kind of asset image, as defined in your stir script.">AssetImage</a> frame, with its top-left corner at the specified location. </p>
<p>Locations are specified in tile units, relative to the top-left of the 18x18 grid.</p>
<p>All coordinates must be in range. This function performs no clipping. </p>

</div>
</div>
<a class="anchor" id="ab31d68fa3fa94735a0c5c8d3dfeece93"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::image </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>destXY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_sifteo_1_1_asset_image.html">AssetImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>srcXY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>srcFrame</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>destFrame</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Draw part of an <a class="el" href="struct_sifteo_1_1_asset_image.html" title="Any kind of asset image, as defined in your stir script.">AssetImage</a> frame, with its top-left corner at the specified location. </p>
<p>Locations are specified in tile units, relative to the top-left of the 18x18 grid.</p>
<p>All coordinates must be in range. This function performs no clipping. </p>

</div>
</div>
<a class="anchor" id="a0fa614f8b2cfb56216fc1f07af7ef8f0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::plot </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>tileIndex</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Plot a single tile, by absolute tile index, at linear position 'i'. </p>
<p>All coordinates must be in range. This function performs no clipping. </p>

</div>
</div>
<a class="anchor" id="aca291e8c8e981743e16a1a25de3c7b26"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::plot </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>tileIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>frame</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Plot a single tile, by absolute tile index, at location 'pos' in tile units, on the given frame. </p>
<p>All coordinates must be in range. This function performs no clipping. </p>

</div>
</div>
<a class="anchor" id="a58fcea7d4742440564185d9b529ffcc5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::setCube </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_sifteo_1_1_cube_i_d.html">CubeID</a>&#160;</td>
          <td class="paramname"><em>cube</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Change the <a class="el" href="struct_sifteo_1_1_cube_i_d.html" title="A lightweight identifier for one Sifteo cube.">CubeID</a> associated with this drawable. </p>
<p>Note that this buffer holds relocated tile indices, and there is no way to efficiently retarget an already-rendered <a class="el" href="struct_sifteo_1_1_tile_buffer.html" title="A drawable that&#39;s backed by plain memory, instead of by a VideoBuffer.">TileBuffer</a> from one cube to another. So, this will effectively render any existing contents of this buffer meaningless. </p>

</div>
</div>
<a class="anchor" id="a94d50b7f1c63359f3df08edb963b2aba"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::span </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>tileIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>frame</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Plot a horizontal span of tiles, by absolute tile index, given the position of the leftmost tile and the number of tiles to plot. </p>
<p>All coordinates must be in range. This function performs no clipping. </p>

</div>
</div>
<a class="anchor" id="a7901aeab575a81bd790a8a68fc97de3d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::span </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_sifteo_1_1_pinned_asset_image.html">PinnedAssetImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>frame</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Plot a horizontal span of tiles, using the first tile of a pinned asset. </p>
<p>All coordinates must be in range. This function performs no clipping. </p>

</div>
</div>
<a class="anchor" id="aacaaed12707ad3bbc060eb361e8c5880"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::text </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__math.html#ga4aa5e1c76d3adebd72a73a7051ad1fe0">Int2</a>&#160;</td>
          <td class="paramname"><em>topLeft</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_sifteo_1_1_asset_image.html">AssetImage</a> &amp;&#160;</td>
          <td class="paramname"><em>font</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>destFrame</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>firstChar</em> = <code>'&#160;'</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Draw text, using an <a class="el" href="struct_sifteo_1_1_asset_image.html" title="Any kind of asset image, as defined in your stir script.">AssetImage</a> as a fixed width font. </p>
<p>Each character is represented by a consecutive 'frame' in the image. Characters not present in the font will be skipped. </p>

</div>
</div>
<a class="anchor" id="a5279b36d506611c2c16026a3e8fe4d85"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned tW, unsigned tH, unsigned tF = 1&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t <a class="el" href="struct_sifteo_1_1_tile_buffer.html">Sifteo::TileBuffer</a>&lt; tW, tH, tF &gt;::tileAddr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__math.html#ga2e4fcb4037bc16967e23c20126d25396">UInt2</a>&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>frame</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Calculate the video buffer address of a particular tile. </p>
<p>All coordinates must be in range. This function performs no clipping. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="tilebuffer_8h_source.html">tilebuffer.h</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.3.1-->
<!-- start footer part -->
    <hr class="footer"/>
    <address class="footer">
        <p><a href="http://sifteo.com">Sifteo</a> SDK v1.0.0 <small>(see <a href="https://developers.sifteo.com/sifteosdk">all versions</a>)</small></p>
        <p>Last updated Wed Mar 27 2013, by <a href="http://www.stack.nl/~dimitri/doxygen">Doxygen</a></p>
    </address>
</body>
</html>
